////https://www.luogu.com.cn/problem/P2024
//
//#include<iostream>
//
//using namespace std;
//
//const int N = 5e4 + 10;
//int fa[N * 3];
//int n, k;
//
//int find(int x)
//{
//	if (fa[x] == x) return x;
//	else return fa[x] = find(fa[x]);
//}
//
//void un(int x, int y)
//{
//	fa[find(x)] = find(y);
//}
//
//int main()
//{
//	cin >> n >> k;
//	for (int i = 1; i <= 3 * n; i++)
//		fa[i] = i;
//	int ret = 0;
//	while (k--)
//	{
//		int jug, x, y;
//		cin >> jug >> x >> y;
//		if (x > n || y > n) 
//			ret++;
//		else if (jug == 1)
//		{
//			if (find(x) == find(y + n) || find(x) == find(y + n + n))
//			{
//				ret++;
//				continue;
//			}
//			un(x, y);
//			un(x + n, y + n);
//			un(x + n + n, y + n + n);
//		}
//		else
//		{
//			if (find(x) == find(y) || find(x) == find(y + n + n))
//			{
//				ret++;
//				continue;
//			}
//			un(x, y + n);
//			un(x + n, y + n + n);
//			un(x + n + n, y);
//		}
//	}
//	cout << ret << endl;
//	return 0;
//}